class Solution {
public:
    string removeKdigits(string num, int k) {
        string ret;
        if(k==num.size())
            return "0";
        for(int i=0;i<num.size();i++)
        {
            while(ret.size()!=0 && k>0 && num[i]<ret.back())
            {
                k--;
                ret.pop_back();
            }
            ret.push_back(num[i]);
        }
        string t;
        int pos=0;
        while(ret[pos]=='0')
            pos++;
        while(ret.size() && k)
        {
            k--;
            ret.pop_back();
        }
        for(int i=pos;i<ret.size();i++)
        {
            t+=ret[i];
        }
    
        return t.size()==0?"0":t;
    }
};
